Implement reddit activity collector#285
Conversation
|
Warning Review limit reached
More reviews will be available in 57 minutes and 7 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more credits in the billing tab to continue. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (25)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Close #270.
Close #271.
Close #272.
Close #273.
Summary
Implements the full reddit_activity_tracker collector for r/cpp (PR2), building on the earlier foundation stub:
RedditUserBaseProfileincppa_user_tracker; submissions/comments use FK toRedditUserinstead of inlineauthor/author_id.reddit_id→reddit_submission_id/reddit_comment_idon submission and comment tables.run_reddit_activity_trackerresumes from maxcreated_utcin DB (or--since/ 30-day default when empty) through now./r/cpp/commentsfallback, plus submission discovery via search +/newand/api/infofor missing posts./api/morechildrenexpansion for complete per-submission comment fetch.services.py; per-record JSON underworkspace/reddit_activity_tracker/users/,submissions/,comments/(overwrite on duplicate id).post(), rate-limit header tracking, proactive pause; auth via client credentials orREDDIT_BEARER_TOKEN/REDDIT_SESSION_COOKIE(parity withreddit-scraper).run_reddit_activity_trackeradded toconfig/boost_collector_schedule.yaml(17:00 UTC).Apps touched
Test plan
python -m pytest reddit_activity_tracker/tests/ -v(32 tests)uv run pytest --cov --cov-fail-under=90(full suite: 2980 passed)uv run pre-commit run -a(lint/format/import-linter/service-layer checks)uv run pyrightuv run python scripts/validate_collector_scaffold.pyDocs / coupling
RedditSubmission.user/RedditComment.user→cppa_user_tracker.RedditUser)python scripts/generate_service_docs.pyrun (reddit_activity_tracker.services,cppa_user_tracker.services)docs/updated (if behavior or ops changed)